﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DTO_MechSys;
using DAL_MechSys;
using System.Data;

namespace BLL_MechSys
{    

    public class BLLAgendamento
    {
        DALAgendamento dalAgendamento = new DALAgendamento();

        public void Inserir(DTOAgendamento dtoAgendamento)
        {
            dalAgendamento.Inserir(dtoAgendamento); 
        }

        public void Atualizar(DTOAgendamento dtoAgendamento)
        {
            dalAgendamento.Atualizar(dtoAgendamento);
        }

        public void AtualizarStatus(int agendamentoID, int novoStatus)
        {
            dalAgendamento.AtualizarStatus(agendamentoID, novoStatus); 
        }

        public void Excluir(int agendamentoID)
        {
            dalAgendamento.Excluir(agendamentoID);
        }

        public DataTable BuscarAgendamentoPorData(DateTime data, byte turno)
        {
            return dalAgendamento.BuscarAgendamentosPorData(data, turno);
        }

        public DataTable BuscarAgendamentoPorDataeStatus(DateTime data, byte turno, int status, int status2, int status3, int status4)
        {
            return dalAgendamento.BuscarAgendamentosPorDataeStatus(data, turno, status, status2, status3, status4);
        }

        public DataTable BuscarAgendamentoPorDataeStatusPesquisa(DateTime data, byte turno, int status, int status2, int status3, int status4, string texto)
        {
            return dalAgendamento.BuscarAgendamentosPorDataeStatusPesquisa(data, turno, status, status2, status3, status4, texto);
        }

        //Verifica se cliente já agendou um horário na data e turno especificados
        public bool VerificaAgendamentoRealizado(DateTime data, byte turno, int clienteID)
        {
            return dalAgendamento.VerificaAgendamentoRealizado(data, turno, clienteID);
        }

        //Utilizado para verificar se agendamentoID existe e fazer Update.
        public bool VerificaSeAgendamentoIDExiste(int agendamentoID)
        {
            return dalAgendamento.VerificaSeAgendamentoIDExiste(agendamentoID); 
        }

    }
}
